package Codigo;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import Criptografia.DigestCalculator;

public class UsuarioTela {
	private String login;
	private List<String> listaSenhas = new ArrayList<String>();
	private String caminhoToken;
	private String semente;
	private int UID;
	
	public UsuarioTela(String login, List<String> listaSenhas, String caminhoToken, String semente) {
		this.login = login;
		this.listaSenhas = listaSenhas;
		this.caminhoToken = caminhoToken;
		this.semente = semente;
	}

	public String fazSenha(String login, String senha, int UID) {
		String senhaCript;
		senhaCript = DigestCalculator.criptSHA1(senha+UID+login);
		return senhaCript;
	}
	private String assinaSemente() {
		String sementeSHA1 = DigestCalculator.criptSemente(semente);
		String chavePrivada = getChaveArq(caminhoToken);
		String assinatura = "";
		return assinatura ;
		
	}
	
	private String getChaveArq(String filename){
		 try {
		        BufferedReader in = new BufferedReader(new FileReader(filename));
		            String str = "";
		            while (in.ready()) {
		                str = in.readLine();
		            }		            
		            in.close();
		            return str;
		    } catch (IOException e) {
		    }
		return "";
	}
	
	public int validasenha() {
		
		UsuarioDB aux = UsuarioDB.getUserBD(login);
		String alt;
		
		if (login != aux.getLogin())
			return 0;
		//Pegar senha criptografada do BD
		alt = aux.getSenha();
		
		for (String senhaAlt : listaSenhas) {
			fazSenha(login, senhaAlt, aux.getUID());
			if (alt.equals(senhaAlt))
				return 1;
		}
		return 1;
		
	}
}
